home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet internetowy / Rozne / HTTrack 3.40-2 / httrack-3.40-2.exe / {app} / src_win / WinHTTrack / OptionTab2.cpp < prev    next >
C/C++ Source or Header  |  2003-12-29  |  7KB  |  200 lines

  1. // OptionTab2.cpp : implementation file
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "Shell.h"
  6. #include "OptionTab2.h"
  7.  
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13.  
  14. /////////////////////////////////////////////////////////////////////////////
  15. // COptionTab2 property page
  16.  
  17. IMPLEMENT_DYNCREATE(COptionTab2, CPropertyPage)
  18.  
  19. COptionTab2::COptionTab2() : CPropertyPage(COptionTab2::IDD)
  20. {
  21.   // Patcher titre
  22.   if (LANG_T(-1)) {    // Patcher en franτais
  23.     m_psp.pszTitle=LANG(LANG_IOPT2); // titre
  24.     m_psp.dwFlags|=PSP_USETITLE;
  25.   }
  26.   m_psp.dwFlags|=PSP_HASHELP;
  27.   //
  28.     //{{AFX_DATA_INIT(COptionTab2)
  29.     m_build = -1;
  30.     m_dos = FALSE;
  31.     m_errpage = FALSE;
  32.     m_external = FALSE;
  33.     m_nopurge = FALSE;
  34.     m_hidepwd = FALSE;
  35.     m_hidequery = FALSE;
  36.     m_iso9660 = FALSE;
  37.     //}}AFX_DATA_INIT
  38. }
  39.  
  40. COptionTab2::~COptionTab2()
  41. {
  42. }
  43.  
  44. void COptionTab2::DoDataExchange(CDataExchange* pDX)
  45. {
  46.     CPropertyPage::DoDataExchange(pDX);
  47.     //{{AFX_DATA_MAP(COptionTab2)
  48.     DDX_Control(pDX, IDC_build, m_ctl_build);
  49.     DDX_Control(pDX, IDC_buildopt, m_buildopt);
  50.     DDX_CBIndex(pDX, IDC_build, m_build);
  51.     DDX_Check(pDX, IDC_dos, m_dos);
  52.     DDX_Check(pDX, IDC_errpage, m_errpage);
  53.     DDX_Check(pDX, IDC_external, m_external);
  54.     DDX_Check(pDX, IDC_nopurge, m_nopurge);
  55.     DDX_Check(pDX, IDC_hidepwd, m_hidepwd);
  56.     DDX_Check(pDX, IDC_hidequery, m_hidequery);
  57.     DDX_Check(pDX, IDC_iso9660, m_iso9660);
  58.     //}}AFX_DATA_MAP
  59. }
  60.  
  61.  
  62. BEGIN_MESSAGE_MAP(COptionTab2, CPropertyPage)
  63.     //{{AFX_MSG_MAP(COptionTab2)
  64.     ON_BN_CLICKED(IDC_buildopt, Onbuildopt)
  65.     ON_CBN_SELCHANGE(IDC_build, OnSelchangebuild)
  66.     //}}AFX_MSG_MAP
  67.   ON_NOTIFY_EX( TTN_NEEDTEXT, 0, OnToolTipNotify )
  68. END_MESSAGE_MAP()
  69.  
  70. /////////////////////////////////////////////////////////////////////////////
  71. // COptionTab2 message handlers
  72.  
  73. void COptionTab2::Onbuildopt() 
  74. {
  75.   if (Bopt.DoModal()==IDOK) {
  76.     if (AfxMessageBox(LANG(LANG_DIAL6),MB_OKCANCEL+MB_ICONQUESTION)==IDOK) {
  77.       m_ctl_build.SetCurSel(14);
  78.       AfxMessageBox(LANG(LANG_DIAL7),MB_OK);
  79.     }
  80.   }
  81. }
  82.  
  83. BOOL COptionTab2::OnInitDialog() 
  84. {
  85.     CPropertyPage::OnInitDialog();
  86.   EnableToolTips(true);     // TOOL TIPS
  87.     
  88.   // Patcher l'interface pour les Franτais ;-)
  89.   if (LANG_T(-1)) {    // Patcher en franτais
  90.     //SetDlgItemTextCP(this, ,"");
  91.     SetDlgItemTextCP(this, IDC_STATIC_buildopt,LANG(LANG_I33)); // "Type de structure (maniΦre dont les liens sont sauvΘs)");
  92.     SetDlgItemTextCP(this, IDC_dos,LANG(LANG_I37)); // "Noms DOS");
  93.     SetDlgItemTextCP(this, IDC_iso9660,LANG(LANG_I37b)); // "Noms DOS");
  94.     SetDlgItemTextCP(this, IDC_errpage,LANG(LANG_I38)); // "Pas de page d'erreur");
  95.     SetDlgItemTextCP(this, IDC_external,LANG(LANG_I56)); // "Pas de page externes");
  96.     SetDlgItemTextCP(this, IDC_nopurge,LANG(LANG_I57)); // "nopurge");
  97.     SetDlgItemTextCP(this, IDC_buildopt,LANG_O2);
  98.     SetDlgItemTextCP(this, IDC_hidepwd,LANG(LANG_I66)); // "Hide passwords");
  99.     SetDlgItemTextCP(this, IDC_hidequery,LANG_I67);
  100.     SetCombo(this,IDC_build,LISTDEF_3);
  101.   }
  102.  
  103.   // mode modif α la volΘe
  104.   if (modify==1) {
  105.     GetDlgItem(IDC_build)   ->ModifyStyle(0,WS_DISABLED);
  106.     GetDlgItem(IDC_buildopt)->ModifyStyle(0,WS_DISABLED);
  107.     GetDlgItem(IDC_dos)     ->ModifyStyle(0,WS_DISABLED);
  108.     GetDlgItem(IDC_iso9660) ->ModifyStyle(0,WS_DISABLED);
  109.     GetDlgItem(IDC_errpage) ->ModifyStyle(0,WS_DISABLED);
  110.     GetDlgItem(IDC_nopurge) ->ModifyStyle(0,WS_DISABLED);
  111.     GetDlgItem(IDC_external)->ModifyStyle(0,WS_DISABLED);
  112.     GetDlgItem(IDC_hidepwd) ->ModifyStyle(0,WS_DISABLED);
  113.     GetDlgItem(IDC_hidequery)->ModifyStyle(0,WS_DISABLED);
  114.   } else {
  115.     GetDlgItem(IDC_build)   ->ModifyStyle(WS_DISABLED,0);
  116.     GetDlgItem(IDC_buildopt)->ModifyStyle(WS_DISABLED,0);
  117.     GetDlgItem(IDC_dos)     ->ModifyStyle(WS_DISABLED,0);
  118.     GetDlgItem(IDC_iso9660) ->ModifyStyle(WS_DISABLED,0);
  119.     GetDlgItem(IDC_errpage) ->ModifyStyle(WS_DISABLED,0);
  120.     GetDlgItem(IDC_nopurge) ->ModifyStyle(WS_DISABLED,0);
  121.     GetDlgItem(IDC_external)->ModifyStyle(WS_DISABLED,0);
  122.     GetDlgItem(IDC_hidepwd) ->ModifyStyle(WS_DISABLED,0);
  123.     GetDlgItem(IDC_hidequery)->ModifyStyle(WS_DISABLED,0);
  124.   }
  125.     
  126.     return TRUE;  // return TRUE unless you set the focus to a control
  127.                   // EXCEPTION: OCX Property Pages should return FALSE
  128. }
  129.  
  130.  
  131.  
  132. // ------------------------------------------------------------
  133. // TOOL TIPS
  134. //
  135. // ajouter dans le .cpp:
  136. // remplacer les deux Wid1:: par le nom de la classe::
  137. // dans la message map, ajouter
  138. // ON_NOTIFY_EX( TTN_NEEDTEXT, 0, OnToolTipNotify )
  139. // dans initdialog ajouter
  140. // EnableToolTips(true);     // TOOL TIPS
  141. //
  142. // ajouter dans le .h:
  143. // char* GetTip(int id);
  144. // et en generated message map
  145. // afx_msg BOOL OnToolTipNotify( UINT id, NMHDR * pNMHDR, LRESULT * pResult );
  146. BOOL COptionTab2::OnToolTipNotify( UINT id, NMHDR * pNMHDR, LRESULT * pResult )
  147. {
  148.   TOOLTIPTEXT *pTTT = (TOOLTIPTEXT *)pNMHDR;
  149.   UINT nID =pNMHDR->idFrom;
  150.   if (pTTT->uFlags & TTF_IDISHWND)
  151.   {
  152.     // idFrom is actually the HWND of the tool
  153.     nID = ::GetDlgCtrlID((HWND)nID);
  154.     if(nID)
  155.     {
  156.       char* st=GetTip(nID);
  157.       if (st != "") {
  158.         pTTT->lpszText = st;
  159.         pTTT->hinst = AfxGetResourceHandle();
  160.         return(TRUE);
  161.       }
  162.     }
  163.   }
  164.   return(FALSE);
  165. }
  166. char* COptionTab2::GetTip(int ID)
  167. {
  168.   switch(ID) {
  169.     case IDC_build:   return LANG(LANG_I3); break; // "Choose local site structure","Choisir la structure de fichiers local"); break;
  170.     case IDC_buildopt:return LANG(LANG_I4); break; // "Set user-defined structure on disk","DΘfinir la structure du site sur disque"); break;
  171.     case IDC_dos:     return LANG(LANG_I8); break; // "Generate ONLY 8-3 filenames","GΘnΘrer uniquement des fichiers courts 8-3"); break;
  172.     case IDC_iso9660: return LANG(LANG_I8b); break; // "Generate ONLY ISO9660 filenames","GΘnΘrer uniquement des fichiers courts 8-3"); break;
  173.     case IDC_errpage: return LANG(LANG_I9); break; // "Do not write html error pages","Ne pas gΘnΘrer les fichiers d'erreur html"); break;
  174.     case IDC_external: return LANG(LANG_I29); break; // extern
  175.     case IDC_nopurge: return LANG(LANG_I1a); break; // erase old files
  176.     case IDC_hidepwd: return LANG(LANG_I30); break;
  177.     case IDC_hidequery: return LANG_I30b; break;
  178.   }
  179.   return "";
  180. }
  181. // TOOL TIPS
  182. // ------------------------------------------------------------
  183.  
  184.  
  185. void COptionTab2::OnSelchangebuild() 
  186. {
  187.   static int old=0;
  188.   int r;
  189.   r = m_ctl_build.GetCurSel();
  190.   if (r!=CB_ERR) {
  191.     if (r==m_ctl_build.GetCount()-1) {
  192.       if (AfxMessageBox(LANG(LANG_DIAL8),MB_YESNO)==IDNO) {
  193.         m_ctl_build.SetCurSel(old);
  194.       }
  195.     } else
  196.       old=r;
  197.   }
  198. }
  199.  
  200.